/**
 * @file
 * @author  Tsin Smith <tsin.creator@gmail.com>
 *
 */

#ifndef __TSIN_SELECTOR_CONFIGSELECTOR_HPP__
#define __TSIN_SELECTOR_CONFIGSELECTOR_HPP__

#include <tsin/selector/common.hpp>
#include <tsin/selector/Selector.hpp>
#include <tsin/util/Logger.hpp>
#include <tsin/config/Config.hpp>

namespace tsin {

        /**
         * @class ConfigSelector
         * @ingroup selector
         * @brief Select a Game by parsing the config file.
         */
        class SELECTOR_DLLEXPORT ConfigSelector : public Selector
        {
        public:
                ConfigSelector(Config &config);

                virtual Game *select();

        private:
                Config &config;
                void *moduleHandle;
        };

}

#endif /* __TSIN_SELECTOR_CONFIGSELECTOR_HPP__ */
